// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "AudioServiceInterface.h"
#include "ServiceModule/ServiceBase.h"
#include "AudioService.generated.h"

UCLASS(BlueprintType, NotBlueprintable) // If you want to use UEAudioEngine, remove NotBlueprintable
class AUDIOMODULE_API UAudioService : public UServiceBase, public IAudioServiceInterface
{
	GENERATED_BODY()
	
public:

	UFUNCTION(BlueprintPure, Category = "AudioService", meta = (DisplayName = "GetAudioService"))
	static UAudioService* GetInstance();
	
	virtual bool Initialize() override;
	
public:
	static TWeakObjectPtr<UAudioService> Instance;
};
